PowerShell ফাইল এবং ডিরেক্টরি (ফোল্ডার) পরিচালনার জন্য একটি শক্তিশালী টুল। আপনি ফাইল তৈরি, ফাইল কপি করা, ডিরেক্টরি তৈরি, ফাইল মুছে ফেলা, এবং আরও অনেক কাজ করতে পারেন PowerShell কমান্ডের মাধ্যমে। এখানে PowerShell-এ ফাইল এবং ডিরেক্টরি অপারেশন সম্পর্কিত কিছু গুরুত্বপূর্ণ কমান্ড এবং উদাহরণ আলোচনা করা হলো।
ফাইল এবং ডিরেক্টরি তৈরি
1. ফাইল তৈরি (New-Item):
PowerShell-এ একটি নতুন ফাইল তৈরি করতে New-Item কমান্ড ব্যবহার করা হয়। উদাহরণস্বরূপ:
New-Item -Path "C:\Temp\NewFile.txt" -ItemType "File"
এখানে -Path দ্বারা ফাইলের অবস্থান এবং নাম নির্দিষ্ট করা হয়েছে এবং -ItemType "File" দিয়ে এটি একটি ফাইল তৈরি করবে।
2. ডিরেক্টরি তৈরি (New-Item):
এছাড়া একটি নতুন ডিরেক্টরি তৈরি করতে একই New-Item কমান্ড ব্যবহার করা যায়, তবে এখানে -ItemType "Directory" ব্যবহার করতে হবে:
New-Item -Path "C:\Temp\NewFolder" -ItemType "Directory"
এটি C:\Temp ডিরেক্টরির ভিতরে NewFolder নামক একটি নতুন ডিরেক্টরি তৈরি করবে।
ফাইল কপি করা (Copy-Item)
ফাইল কপি করতে Copy-Item কমান্ড ব্যবহার করা হয়। এটি একটি ফাইল বা ডিরেক্টরি কপি করে নির্দিষ্ট অবস্থানে পেস্ট করে।
উদাহরণ:
Copy-Item -Path "C:\Temp\SourceFile.txt" -Destination "C:\Temp\DestinationFolder"
এখানে SourceFile.txt ফাইলটি DestinationFolder-এ কপি করা হবে।
1. ডিরেক্টরি কপি করা:
একটি সম্পূর্ণ ডিরেক্টরি কপি করার জন্য -Recurse প্যারামিটার ব্যবহার করতে হয়। যেমন:
Copy-Item -Path "C:\Temp\SourceFolder" -Destination "C:\Temp\DestinationFolder" -Recurse
এটি SourceFolder ডিরেক্টরির সব ফাইল এবং সাব-ডিরেক্টরি কপি করে DestinationFolder-এ পেস্ট করবে।
ফাইল এবং ডিরেক্টরি মুছে ফেলা (Remove-Item)
ফাইল বা ডিরেক্টরি মুছে ফেলতে Remove-Item কমান্ড ব্যবহার করা হয়। এটি নির্দিষ্ট ফাইল বা ডিরেক্টরি মুছে দেয়।
উদাহরণ:
Remove-Item -Path "C:\Temp\OldFile.txt"
এটি C:\Temp থেকে OldFile.txt ফাইলটি মুছে ফেলবে।
1. ডিরেক্টরি মুছে ফেলা:
একটি ডিরেক্টরি মুছে ফেলতে -Recurse প্যারামিটার ব্যবহার করা হয়:
Remove-Item -Path "C:\Temp\OldFolder" -Recurse
এটি OldFolder ডিরেক্টরিটি এবং এর সব সাব-ফাইল/ফোল্ডার মুছে ফেলবে।
ফাইল অথবা ডিরেক্টরি নাম পরিবর্তন করা (Rename-Item)
ফাইল বা ডিরেক্টরির নাম পরিবর্তন করতে Rename-Item কমান্ড ব্যবহার করা হয়।
উদাহরণ:
Rename-Item -Path "C:\Temp\OldFile.txt" -NewName "NewFile.txt"
এটি OldFile.txt নামক ফাইলটির নাম পরিবর্তন করে NewFile.txt রাখবে।
ফাইল বা ডিরেক্টরি তালিকা দেখানো (Get-ChildItem)
PowerShell-এ একটি ডিরেক্টরির ভিতরে থাকা সমস্ত ফাইল এবং সাব-ডিরেক্টরি দেখতে Get-ChildItem কমান্ড ব্যবহার করা হয়।
উদাহরণ:
Get-ChildItem -Path "C:\Temp"
এটি C:\Temp ডিরেক্টরির সব ফাইল এবং ডিরেক্টরি দেখাবে।
1. গোটা ড্রাইভের ফাইল দেখানো:
যদি আপনি পুরো সিস্টেমের সব ফাইল দেখতে চান, তাহলে এমনভাবে কমান্ডটি ব্যবহার করতে পারেন:
Get-ChildItem -Path "C:\" -Recurse
এটি C:\ ড্রাইভের সমস্ত ফাইল এবং সাব-ডিরেক্টরি দেখতে দিবে।
ফাইলের বিষয়বস্তু দেখানো (Get-Content)
ফাইলের ভিতরের বিষয়বস্তু দেখতে Get-Content কমান্ড ব্যবহার করা হয়।
উদাহরণ:
Get-Content -Path "C:\Temp\SampleFile.txt"
এটি SampleFile.txt ফাইলের সব বিষয়বস্তু প্রদর্শন করবে।
ফাইল বা ডিরেক্টরি গুনাগুন (Test-Path)
Test-Path কমান্ডটি ব্যবহার করে আপনি পরীক্ষা করতে পারেন, নির্দিষ্ট ফাইল বা ডিরেক্টরি বিদ্যমান কিনা।
উদাহরণ:
Test-Path -Path "C:\Temp\SomeFile.txt"
এটি যদি SomeFile.txt ফাইলটি বিদ্যমান থাকে, তবে True রিটার্ন করবে, এবং না থাকলে False রিটার্ন করবে।
ফাইলের ডেটা/এ্যাট্রিবিউট পরিবর্তন করা (Set-Item)
ফাইলের গুনাগুন বা এ্যাট্রিবিউট পরিবর্তন করতে Set-Item কমান্ড ব্যবহার করা হয়। যেমন, একটি ফাইলের নাম পরিবর্তন করতে:
Set-Item -Path "C:\Temp\OldFile.txt" -Name "NewFile.txt"
এটি OldFile.txt নামক ফাইলটির নাম পরিবর্তন করে NewFile.txt রাখবে।
ফাইল/ডিরেক্টরি অপারেশনের উদাহরণ:
একটি নতুন ফাইল তৈরি করে তা কপি করা:
New-Item -Path "C:\Temp\NewFile.txt" -ItemType "File"
Copy-Item -Path "C:\Temp\NewFile.txt" -Destination "C:\Backup"
একটি ফোল্ডার তৈরি এবং তার ভিতরে কিছু ফাইল তৈরি করা:
New-Item -Path "C:\Temp\MyFolder" -ItemType "Directory"
New-Item -Path "C:\Temp\MyFolder\File1.txt" -ItemType "File"
New-Item -Path "C:\Temp\MyFolder\File2.txt" -ItemType "File"
একটি ফোল্ডার এবং তার সব ফাইল মুছে ফেলা:
Remove-Item -Path "C:\Temp\MyFolder" -Recurse
সারাংশ
PowerShell আপনাকে সহজে এবং কার্যকরভাবে ফাইল এবং ডিরেক্টরি পরিচালনার সুবিধা দেয়। আপনি বিভিন্ন কমান্ডের মাধ্যমে ফাইল তৈরি, কপি, মুছে ফেলা, এবং সংশোধন করতে পারেন। পাশাপাশি, ডিরেক্টরি এবং ফাইলের বিষয়বস্তু পরীক্ষা, নাম পরিবর্তন, এবং অন্যান্য অপারেশনও সম্পাদন করা যায়। PowerShell এ এই ফাইল এবং ডিরেক্টরি অপারেশনগুলি স্বয়ংক্রিয়করণ এবং স্ক্রিপ্টিং কাজে খুবই উপযোগী।
PowerShell-এ ফাইল এবং ডিরেক্টরি (ফোল্ডার) ম্যানেজ করার জন্য বেশ কিছু কমান্ড রয়েছে। আপনি New-Item, Remove-Item, এবং Get-ChildItem কমান্ডগুলো ব্যবহার করে ফাইল এবং ডিরেক্টরি তৈরি, মুছে ফেলা, এবং তালিকা দেখতে পারেন। নিচে এই কমান্ডগুলোর ব্যবহার এবং উদাহরণ দেওয়া হলো।
New-Item কমান্ড
New-Item কমান্ডটি ব্যবহার করে আপনি নতুন ফাইল অথবা ডিরেক্টরি তৈরি করতে পারেন।
ফাইল তৈরি:
# নতুন ফাইল তৈরি করা
New-Item -Path "C:\Temp" -Name "example.txt" -ItemType "File"
এখানে, "C:\Temp" পাথে নতুন ফাইল "example.txt" তৈরি হবে।
ডিরেক্টরি তৈরি:
# নতুন ডিরেক্টরি তৈরি করা
New-Item -Path "C:\Temp" -Name "NewFolder" -ItemType "Directory"
এখানে, "C:\Temp" পাথে নতুন ডিরেক্টরি "NewFolder" তৈরি হবে।
Remove-Item কমান্ড
Remove-Item কমান্ডটি ফাইল বা ডিরেক্টরি মুছে ফেলার জন্য ব্যবহৃত হয়। আপনি যেকোনো ফাইল বা ডিরেক্টরি মুছে ফেলার জন্য এই কমান্ড ব্যবহার করতে পারেন।
ফাইল মুছে ফেলা:
# ফাইল মুছে ফেলা
Remove-Item -Path "C:\Temp\example.txt"
এখানে "C:\Temp\example.txt" ফাইলটি মুছে ফেলা হবে।
ডিরেক্টরি মুছে ফেলা:
# ডিরেক্টরি মুছে ফেলা
Remove-Item -Path "C:\Temp\NewFolder" -Recurse
এখানে, "C:\Temp\NewFolder" ডিরেক্টরিটি এবং এর ভিতরের সমস্ত উপাদান (ফাইল ও সাব-ডিরেক্টরি) মুছে ফেলা হবে। -Recurse প্যারামিটারটি নিশ্চিত করে যে, ডিরেক্টরির মধ্যে যে কোনো ফাইল বা সাব-ডিরেক্টরি মুছে ফেলা হবে।
Get-ChildItem কমান্ড
Get-ChildItem কমান্ডটি ব্যবহার করে আপনি একটি নির্দিষ্ট ডিরেক্টরির ভিতরে থাকা ফাইল এবং ডিরেক্টরির তালিকা দেখতে পারেন। এটি ফাইল এবং ডিরেক্টরি উভয়েরই তালিকা দেখানোর জন্য ব্যবহৃত হয়।
ডিরেক্টরির ফাইল এবং সাব-ডিরেক্টরি তালিকা দেখা:
# ডিরেক্টরি তালিকা দেখা
Get-ChildItem -Path "C:\Temp"
এখানে "C:\Temp" ডিরেক্টরির সমস্ত ফাইল এবং ডিরেক্টরি প্রদর্শিত হবে।
ফাইলের ধরন ফিল্টার করা:
# শুধু .txt ফাইল দেখানো
Get-ChildItem -Path "C:\Temp" -Filter "*.txt"
এখানে শুধুমাত্র .txt ফাইলগুলোর তালিকা দেখানো হবে।
ডিরেক্টরি ও সাব-ডিরেক্টরি সহ তালিকা দেখা:
# -Recurse প্যারামিটার দিয়ে ডিরেক্টরি এবং সাব-ডিরেক্টরি দেখানো
Get-ChildItem -Path "C:\Temp" -Recurse
এখানে, "C:\Temp" ডিরেক্টরি এবং তার সমস্ত সাব-ডিরেক্টরি সহ সকল ফাইলের তালিকা দেখানো হবে।
ফাইল এবং ডিরেক্টরি ম্যানেজমেন্ট উদাহরণ
নতুন ফোল্ডার তৈরি ও ফাইল তৈরি:
# নতুন ডিরেক্টরি তৈরি করা
New-Item -Path "C:\Temp" -Name "Project" -ItemType "Directory"
# নতুন ফাইল তৈরি করা
New-Item -Path "C:\Temp\Project" -Name "README.txt" -ItemType "File"
এখানে, "C:\Temp\Project" ডিরেক্টরি তৈরি হবে এবং তার মধ্যে "README.txt" নামের ফাইল তৈরি হবে।
ডিরেক্টরি ও ফাইল মুছে ফেলা:
# ফাইল মুছে ফেলা
Remove-Item -Path "C:\Temp\Project\README.txt"
# ডিরেক্টরি মুছে ফেলা (Recurse প্যারামিটার ব্যবহার করা)
Remove-Item -Path "C:\Temp\Project" -Recurse
এখানে, "README.txt" ফাইল এবং "Project" ডিরেক্টরি মুছে ফেলা হবে।
তালিকা দেখানো এবং ফিল্টার করা:
# C:\Temp ডিরেক্টরির ভিতরে সমস্ত ফাইল এবং সাব-ডিরেক্টরি দেখানো
Get-ChildItem -Path "C:\Temp" -Recurse
# শুধুমাত্র .txt ফাইল দেখানো
Get-ChildItem -Path "C:\Temp" -Filter "*.txt"
সারাংশ
PowerShell-এ New-Item, Remove-Item, এবং Get-ChildItem কমান্ডগুলি ফাইল এবং ডিরেক্টরি ম্যানেজমেন্টের জন্য খুবই গুরুত্বপূর্ণ। আপনি New-Item দিয়ে নতুন ফাইল বা ডিরেক্টরি তৈরি করতে পারেন, Remove-Item দিয়ে ফাইল বা ডিরেক্টরি মুছে ফেলতে পারেন, এবং Get-ChildItem দিয়ে ডিরেক্টরির ফাইল ও সাব-ডিরেক্টরি দেখতে পারেন।
PowerShell-এ ফাইলের কনটেন্ট পড়া এবং লেখা একটি সাধারণ কাজ, যা অনেক স্ক্রিপ্ট এবং অটোমেশন প্রক্রিয়ায় ব্যবহৃত হয়। PowerShell বিভিন্ন কমান্ড ব্যবহার করে ফাইলের কনটেন্ট রিড (পড়া) এবং রাইট (লেখা) করতে সাহায্য করে। প্রধান তিনটি কমান্ড হলো Get-Content, Set-Content, এবং Out-File।
Get-Content (ফাইল থেকে কনটেন্ট পড়া)
Get-Content কমান্ডটি ব্যবহার করে একটি ফাইলের কনটেন্ট পড়ে আনা হয়। এটি ফাইলের সমস্ত লাইনের কনটেন্ট আউটপুট হিসেবে প্রদান করে, যেটি পরে আরও প্রসেস বা ব্যবহার করা যেতে পারে।
ব্যবহারের উদাহরণ:
Get-Content -Path "C:\example\file.txt"
এই কমান্ডটি "file.txt" ফাইলের সমস্ত কনটেন্ট আউটপুট হিসেবে দেখাবে।
ফাইলের কিছু অংশ পড়া:
আপনি -Head এবং -Tail প্যারামিটার ব্যবহার করে ফাইলের প্রথম কিছু লাইন বা শেষ কিছু লাইন পড়তে পারেন।
উদাহরণ (প্রথম 5 লাইন পড়া):
Get-Content -Path "C:\example\file.txt" -Head 5
উদাহরণ (শেষ 5 লাইন পড়া):
Get-Content -Path "C:\example\file.txt" -Tail 5
ফাইলের কনটেন্টকে একটি ভেরিয়েবলে সংরক্ষণ:
$fileContent = Get-Content -Path "C:\example\file.txt"
Write-Host $fileContent
Set-Content (ফাইলে কনটেন্ট লেখা)
Set-Content কমান্ডটি ব্যবহার করে একটি ফাইলে নতুন কনটেন্ট লেখা হয় বা পুরানো কনটেন্ট প্রতিস্থাপন করা হয়। এটি নির্দিষ্ট ফাইলের মধ্যে পাঠ্য বা ডেটা লিখে রাখে।
ব্যবহারের উদাহরণ:
Set-Content -Path "C:\example\file.txt" -Value "This is the new content"
এটি "file.txt" ফাইলে "This is the new content" লিখে রাখবে।
একাধিক লাইন লেখা:
Set-Content -Path "C:\example\file.txt" -Value @(
"First line of content"
"Second line of content"
"Third line of content"
)
ফাইলের কনটেন্ট আপডেট করা (Append):
যদি আপনি কনটেন্টের শেষে নতুন ডেটা যোগ করতে চান, তবে -Append প্যারামিটার ব্যবহার করতে হবে।
Set-Content -Path "C:\example\file.txt" -Value "This is the new line" -Append
Out-File (ফাইলে আউটপুট রিডাইরেক্ট করা)
Out-File কমান্ডটি ব্যবহার করে আপনি PowerShell আউটপুটকে একটি ফাইলে রিডাইরেক্ট করতে পারেন। এটি সাধারণত কমান্ডের আউটপুট সরাসরি একটি ফাইলে লেখার জন্য ব্যবহৃত হয়।
ব্যবহারের উদাহরণ:
"Hello, PowerShell!" | Out-File -FilePath "C:\example\file.txt"
এটি "Hello, PowerShell!" স্ট্রিংটি "file.txt" ফাইলে লেখে।
আউটপুট ফাইলের ক্ষেত্রে মুছে ফেলা (Overwrite):
যখন আপনি একটি ফাইলে আউটপুট লেখেন, তখন ফাইলটি পূর্বের কনটেন্ট মুছে দিয়ে নতুন কনটেন্ট লিখে। যদি আপনি নিশ্চিত করতে চান যে এটি পুরনো কনটেন্ট মুছে দিয়ে নতুন কনটেন্ট লেখে, তাহলে -Force প্যারামিটার ব্যবহার করতে পারেন।
"New Content" | Out-File -FilePath "C:\example\file.txt" -Force
আউটপুট অ্যাপেন্ড করা:
যদি আপনি একটি ফাইলে নতুন কনটেন্ট যোগ করতে চান (পুরনো কনটেন্ট না মুছে), তবে -Append প্যারামিটার ব্যবহার করুন।
"Appending new content" | Out-File -FilePath "C:\example\file.txt" -Append
সারাংশ
PowerShell-এ Get-Content, Set-Content, এবং Out-File কমান্ডের মাধ্যমে আপনি সহজেই ফাইল থেকে কনটেন্ট পড়তে, কনটেন্ট লিখতে এবং আউটপুট ফাইলে রিডাইরেক্ট করতে পারবেন। এগুলি বিভিন্ন স্ক্রিপ্টিং প্রয়োজনে, যেমন লগ ফাইল পরিচালনা, কনফিগারেশন ফাইল আপডেট, অথবা ডেটা সংগ্রহে সহায়ক।
PowerShell ব্যবহার করে ফাইলের properties (গুণাবলী) এবং attributes (গুণ) ম্যানেজ করা সম্ভব। ফাইল প্রপার্টিজ সাধারণত একটি ফাইলের বৈশিষ্ট্য যেমন নাম, আকার, তৈরি হওয়ার তারিখ ইত্যাদি, এবং ফাইল অ্যাট্রিবিউটগুলি ফাইলের উপর প্রয়োগকৃত গুণাবলী, যেমন readonly, hidden, system ইত্যাদি, যা ফাইলটির আচরণ বা অ্যাক্সেস কন্ট্রোল করে।
PowerShell-এর মাধ্যমে ফাইল প্রপার্টিজ এবং অ্যাট্রিবিউট পরিবর্তন এবং পরীক্ষা করা সহজ, এবং এটি স্ক্রিপ্টিং ও অটোমেশন কাজের জন্য অত্যন্ত কার্যকর।
File Properties ম্যানেজ করা
PowerShell দিয়ে ফাইলের প্রপার্টিজ চেক করা এবং পরিবর্তন করা যায়, যেমন ফাইলের আকার, তৈরি হওয়ার তারিখ, সর্বশেষ পরিবর্তিত তারিখ, মালিক ইত্যাদি।
Get-Item বা Get-ChildItem দিয়ে ফাইল প্রপার্টিজ দেখা:
Get-Item "C:\Path\To\File.txt"
এটি ফাইলের বিস্তারিত প্রপার্টিজ প্রদান করবে, যেমন:
- FullName (ফাইলের পুরো পাথ)
- CreationTime (ফাইল তৈরি হওয়া সময়)
- LastWriteTime (ফাইলের সর্বশেষ পরিবর্তন সময়)
- Length (ফাইলের আকার)
- Attributes (ফাইলের অ্যাট্রিবিউটস)
উদাহরণ:
$file = Get-Item "C:\Path\To\File.txt"
Write-Output "File name: $($file.Name)"
Write-Output "File size: $($file.Length) bytes"
Write-Output "File creation time: $($file.CreationTime)"
Write-Output "Last modified time: $($file.LastWriteTime)"
File Attributes ম্যানেজ করা
ফাইলের অ্যাট্রিবিউটগুলি ফাইলের আচরণ নির্ধারণ করে, যেমন Hidden, ReadOnly, System ইত্যাদি। PowerShell ব্যবহার করে এই অ্যাট্রিবিউট পরিবর্তন করা যায়।
Get-ItemProperty দিয়ে ফাইলের অ্যাট্রিবিউট চেক করা:
$file = Get-Item "C:\Path\To\File.txt"
Write-Output "File attributes: $($file.Attributes)"
এটি ফাইলের অ্যাট্রিবিউট দেখাবে, যেমন:
- ReadOnly
- Hidden
- System
- Archive
- Directory
- Compressed
File Attributes পরিবর্তন করা
PowerShell-এ ফাইলের অ্যাট্রিবিউট পরিবর্তন করতে Set-ItemProperty ব্যবহার করা হয়।
ReadOnly অ্যাট্রিবিউট যোগ করা:
Set-ItemProperty -Path "C:\Path\To\File.txt" -Name Attributes -Value "ReadOnly"
এটি ফাইলটিকে ReadOnly বানাবে, অর্থাৎ ফাইলটি পরিবর্তন করা যাবে না।
Hidden অ্যাট্রিবিউট যোগ করা:
Set-ItemProperty -Path "C:\Path\To\File.txt" -Name Attributes -Value "Hidden"
এটি ফাইলটিকে Hidden বানাবে, অর্থাৎ ফাইলটি সাধারণভাবে দেখা যাবে না, তবে dir /a বা অন্য টুল দিয়ে দেখা যাবে।
Multiple Attributes যোগ করা:
PowerShell ব্যবহার করে একাধিক অ্যাট্রিবিউট একসাথে যোগ করা যায়, যেমন:
Set-ItemProperty -Path "C:\Path\To\File.txt" -Name Attributes -Value "ReadOnly, Hidden"
এটি ফাইলটিকে ReadOnly এবং Hidden করে দেবে।
Attributes মুছে ফেলা:
ফাইল থেকে অ্যাট্রিবিউট মুছে ফেলতে Clear-ItemProperty ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, যদি আপনি ReadOnly অ্যাট্রিবিউট মুছে ফেলতে চান:
Set-ItemProperty -Path "C:\Path\To\File.txt" -Name Attributes -Value "Normal"
এটি ফাইলটির অ্যাট্রিবিউটকে Normal (অথবা কোনো স্পেসিফিক অ্যাট্রিবিউট না থাকা) সেট করবে।
File Attributes এর অন্যান্য উদাহরণ
File এর System অ্যাট্রিবিউট যোগ করা:
Set-ItemProperty -Path "C:\Path\To\File.txt" -Name Attributes -Value "System"
File এর Archive অ্যাট্রিবিউট যোগ করা:
Set-ItemProperty -Path "C:\Path\To\File.txt" -Name Attributes -Value "Archive"
File প্রপার্টিজ এবং অ্যাট্রিবিউট পরিবর্তন করার সময় সতর্কতা
- ReadOnly অ্যাট্রিবিউট: যখন একটি ফাইল ReadOnly থাকে, তখন সেটিতে কোনো পরিবর্তন করা যাবে না যতক্ষণ না অ্যাট্রিবিউট পরিবর্তন করা হয়।
- Hidden অ্যাট্রিবিউট: একটি ফাইল Hidden করার পর এটি সাধারণভাবে ফাইল এক্সপ্লোরারে দেখা যাবে না, তবে এটি কেবল একটি দৃষ্টির জন্য লুকানো থাকে।
- System অ্যাট্রিবিউট: System অ্যাট্রিবিউট ফাইলটিকে সিস্টেম ফাইল হিসেবে চিহ্নিত করে, যা বিশেষ ভাবে পরিচালিত বা সম্পাদন করা উচিত।
File Attribute গুলির সংক্ষিপ্ত তালিকা
- ReadOnly: ফাইলটি পরিবর্তন করা যাবে না।
- Hidden: ফাইলটি সাধারণভাবে দেখানো হয় না।
- System: সিস্টেম ফাইল হিসেবে চিহ্নিত হয়।
- Archive: ফাইলটির পরিবর্তন বা নতুন আপডেটের তথ্য রাখা হয়।
- Normal: সাধারণ অ্যাট্রিবিউট (কোনো স্পেসিফিক অ্যাট্রিবিউট নেই)।
সারাংশ
PowerShell ফাইল প্রপার্টিজ এবং অ্যাট্রিবিউট ম্যানেজ করার জন্য একটি শক্তিশালী টুল। আপনি ফাইলের বিস্তারিত প্রপার্টিজ দেখতে পারেন, অ্যাট্রিবিউট যোগ বা পরিবর্তন করতে পারেন এবং সেগুলিকে এক্সেস এবং পরিচালনা করার জন্য নানা কাজ করতে পারেন। PowerShell ফাইল ম্যানেজমেন্টের জন্য অত্যন্ত কার্যকর, বিশেষ করে স্ক্রিপ্টিং বা অটোমেশন কাজের জন্য।
PowerShell-এ file handling (ফাইল পরিচালনা) অত্যন্ত গুরুত্বপূর্ণ এবং শক্তিশালী একটি বিষয়। এটি ফাইল তৈরি, পাঠ করা, লেখা, মুছে ফেলা, অথবা ফাইলের উপর বিভিন্ন ধরনের bulk (একাধিক) অপারেশন সম্পাদন করার জন্য ব্যবহৃত হয়। PowerShell ফাইল সিস্টেমের সাথে কাজ করার জন্য বিভিন্ন কমান্ড এবং cmdlet সরবরাহ করে, যার মাধ্যমে আপনি ফাইল এবং ফোল্ডার ম্যানিপুলেশন সহজে করতে পারেন।
Bulk File Operations
PowerShell-এ একাধিক ফাইলের উপর bulk অপারেশন করতে আপনি নিম্নলিখিত পদ্ধতিগুলি ব্যবহার করতে পারেন:
1. Multiple Files Read/Write (একাধিক ফাইল পড়া/লিখা)
PowerShell-এ আপনি একটি ডিরেক্টরির মধ্যে সব ফাইলের উপর একই অপারেশন প্রয়োগ করতে পারেন। Get-ChildItem cmdlet এর মাধ্যমে ডিরেক্টরি থেকে সব ফাইল পাওয়ার পরে, আপনি তাদের উপর বিভিন্ন অপারেশন করতে পারেন।
ফাইল পড়া (Reading Files)
$files = Get-ChildItem "C:\Documents" -Filter "*.txt"
foreach ($file in $files) {
$content = Get-Content $file.FullName
Write-Output "Contents of $($file.Name): $content"
}
এই স্ক্রিপ্টটি C:\Documents ফোল্ডারে থাকা সমস্ত .txt ফাইলের কন্টেন্ট পড়বে এবং তা আউটপুট করবে।
ফাইল লেখা (Writing to Files)
$files = Get-ChildItem "C:\Documents" -Filter "*.txt"
foreach ($file in $files) {
"New content" | Out-File $file.FullName -Append
}
এই স্ক্রিপ্টটি প্রতিটি .txt ফাইলের শেষে "New content" যুক্ত করবে।
2. Bulk File Deletion (একাধিক ফাইল মুছে ফেলা)
একাধিক ফাইল মুছে ফেলার জন্য, আপনি Remove-Item cmdlet ব্যবহার করতে পারেন। এতে আপনি ফাইল ফিল্টার ব্যবহার করে নির্দিষ্ট ফাইলগুলি মুছে ফেলতে পারেন।
Get-ChildItem "C:\Documents" -Filter "*.log" | Remove-Item
এই স্ক্রিপ্টটি C:\Documents ফোল্ডারে থাকা সমস্ত .log ফাইল মুছে ফেলবে।
3. Bulk File Renaming (একাধিক ফাইলের নাম পরিবর্তন করা)
PowerShell-এর Rename-Item cmdlet ব্যবহার করে একাধিক ফাইলের নাম পরিবর্তন করা যায়। এখানে আমরা একটি নির্দিষ্ট প্যাটার্ন অনুসারে ফাইলের নাম পরিবর্তন করতে পারি।
$files = Get-ChildItem "C:\Documents" -Filter "*.txt"
foreach ($file in $files) {
$newName = "New_" + $file.Name
Rename-Item $file.FullName -NewName $newName
}
এটি সব .txt ফাইলের নামের আগে "New_" যোগ করে তাদের নাম পরিবর্তন করবে।
4. Bulk File Copying (একাধিক ফাইল কপি করা)
একাধিক ফাইল কপি করতে, আপনি Copy-Item cmdlet ব্যবহার করতে পারেন। নিচের স্ক্রিপ্টটি নির্দিষ্ট একটি ফোল্ডার থেকে সব ফাইল কপি করবে।
$files = Get-ChildItem "C:\Documents" -Filter "*.txt"
foreach ($file in $files) {
Copy-Item $file.FullName -Destination "C:\Backup\"
}
এটি সব .txt ফাইল C:\Documents ফোল্ডার থেকে C:\Backup\ ফোল্ডারে কপি করবে।
File Handling Techniques
PowerShell-এ ফাইলের সাথে বিভিন্ন ধরনের অপারেশন (ফাইল তৈরি, পাঠ, লেখা, মুছা, ইত্যাদি) করতে কিছু সাধারণ টেকনিক ব্যবহার করা হয়। নিচে সেই টেকনিকগুলো আলোচনা করা হলো।
1. ফাইল তৈরি (Creating Files)
PowerShell-এ নতুন ফাইল তৈরি করতে, New-Item cmdlet ব্যবহার করা হয়।
New-Item -Path "C:\Documents" -Name "example.txt" -ItemType "File"
এটি C:\Documents ফোল্ডারে একটি নতুন example.txt ফাইল তৈরি করবে।
2. ফাইল পড়া (Reading Files)
PowerShell-এ ফাইলের কন্টেন্ট পড়ার জন্য Get-Content cmdlet ব্যবহার করা হয়। আপনি এটি ব্যবহার করে একটি ফাইলের সমস্ত কন্টেন্ট পড়তে পারেন।
$content = Get-Content "C:\Documents\example.txt"
Write-Output $content
এটি example.txt ফাইলের কন্টেন্ট পড়বে এবং তা আউটপুট হিসেবে দেখাবে।
3. ফাইল লেখা (Writing to Files)
PowerShell-এ ফাইলের কন্টেন্ট লিখতে Out-File বা Set-Content cmdlet ব্যবহার করা যায়।
"Hello, World!" | Out-File "C:\Documents\example.txt"
এটি "Hello, World!" টেক্সট example.txt ফাইলে লিখে দিবে। আপনি -Append প্যারামিটার ব্যবহার করে নতুন কন্টেন্ট যোগ করতে পারেন।
"New content" | Out-File "C:\Documents\example.txt" -Append
4. ফাইল চেক করা (Checking File Existence)
কোনো ফাইল আছে কিনা তা চেক করতে, Test-Path cmdlet ব্যবহার করা হয়।
$exists = Test-Path "C:\Documents\example.txt"
if ($exists) {
Write-Output "File exists"
} else {
Write-Output "File does not exist"
}
5. ফাইল মুছা (Deleting Files)
ফাইল মুছতে Remove-Item cmdlet ব্যবহার করা হয়। এটি একক বা একাধিক ফাইল মুছতে পারে।
Remove-Item "C:\Documents\example.txt"
এটি example.txt ফাইলটি মুছে ফেলবে।
6. ফাইলের মেটাডেটা (File Metadata)
PowerShell-এ ফাইলের মেটাডেটা (যেমন সাইজ, সৃষ্টির তারিখ, সর্বশেষ পরিবর্তন, ইত্যাদি) পাওয়ার জন্য Get-Item cmdlet ব্যবহার করা যায়।
$file = Get-Item "C:\Documents\example.txt"
Write-Output "File size: $($file.Length) bytes"
Write-Output "Last modified: $($file.LastWriteTime)"
সারাংশ
PowerShell-এ ফাইল পরিচালনা এবং bulk file operations করার জন্য বিভিন্ন কার্যকর cmdlet এবং টেকনিক রয়েছে। আপনি Get-ChildItem, Remove-Item, Copy-Item, Rename-Item, New-Item, Get-Content, Set-Content, এবং Out-File এর মতো cmdlet ব্যবহার করে সহজেই একাধিক ফাইলের উপর কাজ করতে পারেন। এগুলি ফাইলের বিভিন্ন বৈশিষ্ট্য (যেমন তৈরি, পরিবর্তন, কপি, মুছা, এবং কন্টেন্ট রিড) পরিচালনা করার জন্য সহায়ক।
Read more